MySQL IF IN GROUP_CONCAT 中断
全部标签 我正在开发一个多线程应用程序来连接到外部服务器-每个服务器都在单独的线程上-并且在有输入之前将被阻塞。其中每一个都扩展了Thread类。为了便于解释,我们称这些为“连接线程”。所有这些连接线程都存储在并发HashMap中。然后,我允许调用RESTfulWeb服务方法来取消任何线程。(我使用的是Grizzly/Jersey,所以每次调用都是一个单独的线程。)我检索特定的连接线程(从hashmap)并调用它的interrupt()方法。那么,问题来了,在连接线程中,我如何捕获InterruptedException?(当连接线程被外部RESTful命令停止时,我想做一些事情。)
假设我启动了一个线程并且我有这样的东西:...//initiateallthesocketconnectionfuture=executor.submit(newRunnable(){publicvoidrun(){......while((str=in.readLine())!=null){//dosomethinghere}});executor是一个ExecutorService对象,in是一个BufferedReader对象我知道您可以关闭来自不同线程的套接字来中断该线程。但是当我尝试使用future.cancel(true)方法时,即使它返回true,线程似乎仍在运行,有人知
每次调用Thread.interrupt()时,我都想以某种方式进行记录,记录哪个线程发出调用(及其当前堆栈)以及识别有关哪个线程被中断的信息。有没有办法做到这一点?搜索资料,看到有人提到实现安全管理器的可能性。这是可以在运行时完成的事情(例如,在Applet或WebStart客户端中),还是您需要使用已安装的JVM来执行此操作?或者有更好的方法吗? 最佳答案 作为一个快速技巧,这比我想象的要容易很多。由于这是一个快速的hack,我没有做一些事情,比如在取消引用数组之前确保堆栈跟踪足够深等。我在我签名的Applet的构造函数中插入了
我有以下API:publicinterfaceMyApi{/***Performssomestuff.*@throwsMyExceptionifconditionC1*/publicvoidmethod()throwsMyException;}我现在在我的API实现中执行以下修改publicclassMyApiImpl{publicvoidmethod()throwsMyException{if(C1){thrownewMyException("c1message");}...}}被替换为:publicclassMyApiImpl{publicvoidmethod()throwsMyE
我有一个try-catchblock,我希望像switchblock一样break但我做不到找到推荐的方法。我在try-catchblock中获取大量数据,并希望在满足特定条件的情况下停止获取。只是为了让它现在工作,我故意强制代码进入catchblock:inti=0;try{//--dostuff----if(//-------isconditionmet?--------//)i=1/0;//divide1by0--adefiniteexception}catch(Exceptione){//---------donothing---------//}这样做安全还是我应该换一种方式
我有一个部署到JBoss7.1.1.Final的JavaEE应用程序。该应用程序利用JAX-RS为客户端提供REST服务。其中一项服务保持客户端连接,直到通过BlockingQueue接收到响应对象。到目前为止,这似乎工作正常。但是,即使删除应用程序部署/关闭应用程序,连接也会保持打开状态。它甚至可以防止JBoss关闭。所以我试图通过@PreDestroy回调中断等待线程来执行干净关闭。该服务如下所示:@Path("/mypath")@SessionScopedpublicclassMyResourceimplementsSerializable{privatestaticfinall
我们正在使用ApacheCamel(Camel2.10.3,基于JavaDSL)构建一个集成项目。我们有一个从数据库中提取数据的路由(我们称之为IN_DB),每天执行一些逻辑并插入另一个数据库(OUT_DB),另一个订阅XML数据的JMS主题的路由,做一些逻辑并将其全天插入同一个数据库(OUT_DB)。要求是,当JMS主题连接因任何原因中断时,我们会无限期地尝试重新连接,一旦重新连接成功,我们需要返回数据库(IN_DB)并进行另一次加载以填补空缺话题在哪里。我的问题是我们如何在Camel中执行此逻辑(“我已连接,然后断开连接,现在我再次连接”)?当主题下降时,以主题消费者开始的路由会发
这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowtoterminateathreadblockingonsocketIOoperationinstantly?我让客户端在线程中运行,想从Java中的套接字读取数据。但是在阅读时,也许我想终止线程。所以我中断它,但是套接字的读取方法会抛出InterruptedException吗?我没找到。那么,当线程在读取套接字时阻塞时,我怎样才能很好地让线程死掉?谢谢
我有一个包含多个实例的Quartz设置,我想在执行作业的任何地方中断它。正如文档中所说,Scheduler.interrupt()方法不是集群感知的,所以我正在寻找一些常见的做法来克服这种限制。 最佳答案 好吧,这里有一些您应该用来实现这一目标的基础知识。在集群模式下运行时,有关当前正在运行的作业的信息在quartz表中可用。例如,q_fired_triggers包含正在执行的作业。该表的第一列是负责它的调度程序名称。因此很容易知道谁在做什么。然后,如果您启用quartz实例org.quartz.scheduler.jmx.expo
情况:我有一个使用Netty4.0.17.Final的代理应用程序(仅供引用:我已经遇到了版本4.0.13.Final和4.0.9.Final的问题),那就是基于proxyfromtheNettyexamples.我的代码和示例之间的主要区别在于,当channel激活时,我的代码不会连接到后端服务器,而是仅在第一次读取时才连接,因为此读取必须首先对输入进行一些检查,然后才能连接和将该消息转发到后端服务器。我对我的应用进行了数小时的单元测试和负载测试,它运行良好。问题:由于收到的第一条消息需要执行一些阻塞操作,因此我尝试为执行此操作的处理程序使用单独的EventExecutorGroup